/*
 * @Descripttion:
 * @version: 1.0.0
 * @Author: liuzicheng
 * @Date: 2025-02-28 11:22:11
 * @LastEditors: liuzicheng
 * @LastEditTime: 2025-02-28 11:23:10
 */
// 引入antd的消息提示组件
import { message } from "antd";

/**
 * 将文本复制到剪贴板
 * @param text - 要复制的文本
 */
function copyText(text: string) {
  // 创建一个textarea元素
  const textarea = document.createElement("textarea");
  // 将传入的文本赋值给textarea的value属性
  textarea.value = text;
  // 将textarea元素添加到body中
  document.body.appendChild(textarea);
  // 选中textarea中的文本
  textarea.select();
  // 执行复制命令
  document.execCommand("copy");
  // 从body中移除textarea元素
  document.body.removeChild(textarea);
  // 显示复制成功的消息提示
  message.success("已经复制到剪贴板");
}

/**
 * 判断是否使用navigator.clipboard进行复制
 * @param text - 要复制的文本
 */
export function isUseClipboard(text: string) {
  // 检查浏览器是否支持navigator.clipboard
  if (!navigator?.clipboard) {
    // 不支持则调用copyText函数进行复制
    copyText(text);
  } else {
    // 支持则使用navigator.clipboard.writeText进行复制
    navigator.clipboard
      .writeText(text)
      .then(() => {
        // 复制成功，显示消息提示
        message.success("已经复制到剪贴板");
      })
      .catch((err) => {
        // 复制失败，打印错误信息
        console.error("复制失败: ", err);
      });
  }
}
